﻿using System.Collections.Generic;

namespace DTO.Clases
{
    /// <summary>
    /// Representa una clase para la estructura de datos de Factura de Venta.
    /// </summary>
    public class FacturaVenta : FacturaProveedor
    {
        /// <summary>
        /// Obtiene o establece el valor del número de la factura de venta.
        /// </summary>
        //public string Numero { set; get; }

        /// <summary>
        /// Obtiene o establece el listado de las Formas de Pago de la Factura.
        /// </summary>
        public List<FormaPago> FormasDePago { set; get; }

        /// <summary>
        /// Obtiene o establece el valor de la Caja de la Factura.
        /// </summary>
        //public Caja Caja { set; get; }

        /// <summary>
        /// Obtiene o establece el valor del estado de la Factura.
        /// </summary>
        //public Estado EstadoFactura { set; get; }

        /// <summary>
        /// Indica si la Factura aplica descuento o de lo contrario aplicaría
        /// recargo.
        /// </summary>
        public bool AplicaDescuento { set; get; }

        /// <summary>
        /// Obtiene o establece el valor del recargo de la factura.
        /// </summary>
        public double Recargo { set; get; }

        /// <summary>
        /// Inicializa una nueva instancia de la clase FacturaProveedor.
        /// </summary>
        public FacturaVenta()
        {
            this.FormasDePago = new List<FormaPago>();
            this.Caja = new Caja();
            this.EstadoFactura = new Estado();
            this.AplicaDescuento = true;
            this.Recargo = 0.0;
        }
    }
}